package com.gph.saviorframework.es.core.query;

import java.util.List;

import com.gph.saviorframework.es.core.facet.FacetRequest;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.highlight.HighlightBuilder;
import org.elasticsearch.search.sort.SortBuilder;

public interface SearchQuery extends Query {

	QueryBuilder getQuery();

	QueryBuilder getFilter();

	List<SortBuilder> getElasticsearchSorts();

	@Deprecated
	List<FacetRequest> getFacets();

	List<AbstractAggregationBuilder> getAggregations();

	HighlightBuilder.Field[] getHighlightFields();

	List<IndexBoost> getIndicesBoost();

    List<ScriptField> getScriptFields();

}
